home *** CD-ROM | disk | FTP | other *** search
- class FPUI.TreeSelectableItem extends FPUI.SelectableItem
- {
- var tree;
- var node;
- var index;
- var m_iconName = "";
- function TreeSelectableItem()
- {
- super();
- }
- function displayContent(nodeObj, selected, index)
- {
- var _loc1_ = this;
- var _loc2_ = nodeObj;
- super.displayContent(_loc2_,selected,index);
- var treeControl = _loc1_.m_controller;
- var iconName = !(_loc2_ && !_loc2_.isBranch()) ? "" : "ftree_icon_leaf";
- if(_loc2_ == null || _loc1_.m_iconName != iconName)
- {
- _loc1_.m_iconName = "";
- if(_loc1_.m_iconMC)
- {
- _loc1_.m_iconMC.removeMovieClip();
- }
- }
- _loc1_.m_connectorMC.ex.clear();
- if(_loc2_ != null)
- {
- if(_loc1_.m_connectorMC == undefined)
- {
- _loc1_.createEmptyMovieClip("m_connectorMC",3001);
- }
- _loc1_.m_connectorMC._x = 2;
- var ch = _loc1_.getHighlightHeight();
- var cw = 17;
- var nodeLevel = _loc2_.getLevel();
- if(_loc2_.isBranch())
- {
- _loc1_.setLabelBold(true);
- var mx = Math.floor(cw / 2) + nodeLevel * cw;
- var my = Math.floor(ch / 2);
- var _loc3_ = _loc1_.m_connectorMC.ex;
- if(_loc3_ == undefined)
- {
- _loc3_ = _loc1_.m_connectorMC.createEmptyMovieClip("ex",1);
- }
- _loc1_.drawExpander(_loc3_,mx,my,_loc2_.isOpen());
- _loc3_.node = _loc2_;
- _loc3_.index = index;
- _loc3_.tree = treeControl;
- _loc3_.useHandCursor = false;
- _loc3_.trackAsMenu = true;
- _loc3_.onRelease = function()
- {
- var _loc1_ = this.tree;
- if(_loc1_.getEnabled())
- {
- var _loc2_ = this.node;
- _loc2_.setIsOpen(!_loc2_.isOpen());
- var _loc3_ = this.index;
- _loc1_.refreshBranch(_loc3_);
- if(!_loc1_.getFocused())
- {
- _loc1_.pressFocus();
- }
- }
- };
- }
- else
- {
- _loc1_.setLabelBold(false);
- }
- if(_loc1_.m_iconMC == undefined)
- {
- _loc1_.attachMovie(iconName,"m_iconMC",3000);
- _loc1_.m_iconName = iconName;
- }
- var offset = _loc1_.m_connectorMC._x + (nodeLevel + 1) * cw - 1;
- if(_loc1_.m_iconMC)
- {
- _loc1_.m_iconMC._x = Math.round(offset);
- _loc1_.m_iconMC._y = Math.round((ch - _loc1_.m_iconMC._height) / 2);
- _loc1_.m_iconMC.useHandCursor = false;
- offset += _loc1_.m_iconMC._width + 4;
- }
- _loc1_.m_labelFieldMC._x = Math.round(offset);
- if(_loc1_.m_controller.getItemHeight() < ch)
- {
- _loc1_.m_labelFieldMC._y = Math.round((ch - _loc1_.m_controller.getItemHeight()) / 2);
- }
- if(_loc2_ != null)
- {
- _loc2_.setLastDrawnWidth(offset + _loc1_.m_labelFieldMC._x + _loc1_.m_labelFieldMC.textWidth);
- treeControl.setMinTreeWidth(_loc2_.getLastDrawnWidth());
- }
- _loc1_._y = Math.round(_loc1_._y);
- }
- }
- function drawExpander(ex, x, y, isOpen)
- {
- var _loc2_ = ex;
- _loc2_.clear();
- var _loc1_ = 6;
- _loc2_.beginFill(16777215,0);
- _loc2_.moveTo(- _loc1_,- _loc1_);
- _loc2_.lineTo(_loc1_,- _loc1_);
- _loc2_.lineTo(_loc1_,_loc1_);
- _loc2_.lineTo(- _loc1_,_loc1_);
- _loc2_.lineTo(- _loc1_,- _loc1_);
- _loc2_.endFill();
- var _loc3_ = 7697781;
- _loc1_ = 3;
- _loc2_.beginFill(_loc3_);
- _loc2_.moveTo(- _loc1_,- _loc1_);
- _loc2_.lineTo(_loc1_,0);
- _loc2_.lineTo(- _loc1_,_loc1_);
- _loc2_.lineTo(- _loc1_,- _loc1_);
- _loc2_.endFill();
- _loc2_._x = Math.floor(x);
- _loc2_._y = Math.floor(y);
- _loc2_._rotation = !isOpen ? 0 : 90;
- }
- }
-